perm filename OVAL.MF[MF,ALS] blob sn#571671 filedate 1981-03-23 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00007 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	"My Oval"
C00004 00003	"a: 1:1 Oval"
C00005 00004	"b: 1:1.5 Oval"
C00006 00005	"c: 1:2 Oval"
C00007 00006	"d: 1:2.5 Oval"
C00008 00007	"e: 1:3 Oval"
C00010 ENDMK
CāŠ—;
"My Oval";
% fntmode; % this causes a font to be created for the XGP
ocmode; % this causes a font to be created for the DOVER
tfmmode; % this causes a TEX information file to be produced
proofmode; 
drawdisplay;
titletrace; % this prints out quoted strings when they occur
w0=3; hpen;
pts=20; % Needed at this time for maxht below
pixels=5.3; % raster units per point for TEX on the DOVER maybe
maxht top0 pts.pixels. % tallest output in raster units
charht pts; charwd 3/2 pts; chardw round 3/2 pts.pixels;
sqrttwo=sqrt2; w1=9;

subroutine darc(index i,index j,var maxwidth):
y1=y5=yi; y2=y4=1/sqrttwo [yi,yj]; y3=yj;
x1=xi; x5=xj; x3=1/2[xi,xj];
x2=1/sqrttwo [x3,xi]; x4=1/sqrttwo [x3,xj];
hpen; draw|maxwidth|1{0,y3-y1}..|2/3[maxwidth,w0]|2{x3-x1,y3-y1}..
             |w0#|3{x3-x1,0}..
             |2/3[maxwidth,w0]|4{x5-x3,y5-y3}..|maxwidth|5{0,y5-y3}.
"a: 1:1 Oval";
charcode `a;
y1=0; y2=50; x2=0; y3=100;
x1=x3=100; 
new w1; w1=9;
call `a darc(2,1,w1);
call `b darc(2,3,w1).
end.
"b: 1:1.5 Oval";
charcode `b;
y1=0; y2=50; x2=0; y3=100;
new w1; w1=11;
x1=x3=150;
call `a darc(2,1,w1);
call `b darc(2,3,w1).
"c: 1:2 Oval";
charcode `c;
y1=0; y2=50; x2=0; y3=100;
new w1; w1=13;
new x1; new x3; x1=x3=200;
call `a darc(2,1,w1);
call `b darc(2,3,w1).
"d: 1:2.5 Oval";
charcode `d;
y1=0; y2=50; x2=0; y3=100;
new w1; w1=15;
new x1; new x3; x1=x3=250;
call `a darc(2,1,w1);
call `b darc(2,3,w1).
"e: 1:3 Oval";
charcode `e;
y1=0; y2=50; x2=0; y3=100;
new w1; w1=17;
new x1; new x3; x1=x3=300;
call `a darc(2,1,w1);
call `b darc(2,3,w1).
end.